import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:happy_elf_app/store/config.dart';
import 'package:happy_elf_app/store/user.dart';
import 'package:happy_elf_app/utils/globalKey.dart';
import 'package:happy_elf_app/utils/themColor.dart';
import 'package:happy_elf_app/widgets/headerBack/index.dart';

class Readme extends StatefulWidget {
  const Readme({super.key});

  @override
  State<Readme> createState() => _ReadmeState();
}

final UserDataProvider = Provider.of<UserData>(
  Global.navigatorKey.currentContext!,
  listen: false,
);

class _ReadmeState extends State<Readme> with SingleTickerProviderStateMixin {
  late AnimationController _controller;

  int page = 0;
  Map userInfo = {};

  @override
  void initState() {
    userInfo = UserDataProvider.userData;
    super.initState();
    _controller = AnimationController(vsync: this);
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Column(children: [
      HeaderBack(
        title: '必读内容',
        isFirst: true,
        callback: () {
          Navigator.pop(context);
        },
      ),
      Padding(
        padding: EdgeInsets.all(20.0),
        child: Column(crossAxisAlignment: CrossAxisAlignment.start, children: [
          Text(page == 0 ? '什么是情绪低落' : '如何避免情绪失落',
              style: TextStyle(
                fontSize: 18,
                fontWeight: FontWeight.w500,
                color: Colors.black,
              )),
          SizedBox(height: 26),
          Text(
            page == 0
                ? '我们每个人在不同的时候都会感受到各种不同的情绪，包括快乐、悲伤、愤怒和恐惧。感到悲伤可能是对生活中发生的事情的自然而恰当的反应。悲伤也可能让我们知道生活中有些事情让我们感到困难。例如，如果一个亲密的朋友搬走了，或者我们在学校考试中没有取得理想的成绩。通常，这些感觉会在几个小时、几天或几周后消失，我们会恢复正常。 '
                : '对于一些年轻人来说，他们的低落情绪是由一个或多个“生活事件”引发的。如果你不知道最初是什么“触发”了你的低落情绪，也不用担心。感觉好起来的关键在于了解是什么让你的情绪持续低落，而不是最初是什么导致了你的情绪低落。回顾一下你最近情绪特别低落的例子会很有帮助。情绪低落前做了什么行为？在什么环境中？想了什么？感觉如何？ ',
            style: TextStyle(letterSpacing: 1.5),
          ),
          SizedBox(height: 26),
          Text(
            page == 0
                ? '情绪低落则有所不同。它意味着年轻人会在一周的大部分时间里感到悲伤或烦躁，至少持续几周（通常更长时间！）。他们的情绪低落还会阻止他们做一些他们通常喜欢做的事情。例如，与朋友共度时光。 '
                : "用不同的活动应对低落情绪，可以帮助年轻人以不同的方式思考和感受。这种方法被称为行为激活。推动你朝着目标前进的活动，或者令你感到开心的活动都会带来一些好的变化。首先要设定一个目标，明确你目前最想要努力实现的目标（1年内），会很有帮助。很多情绪低落的年轻人发现设定目标非常困难。情绪低落的症状甚至会让您难以想象未来会有什么不同。试着问问自己，如果您不再感到情绪低落，您的生活会有什么不同？如果您感觉好一点，您会做哪些事情？ ",
            style: TextStyle(letterSpacing: 1.5),
          ),
          SizedBox(height: 26),
          page == 0
              ? const Text(
                  '每个人的情绪低落程度都不一样！社会通常认为，情绪低落的人一天中的大部分时间都在哭泣。我们知道，这可能适用于一些情绪低落的年轻人，但并非全部！事实上，大多数年轻人会感到烦躁（脾气暴躁，容易对别人发脾气），而不是心烦意乱。情绪低落还会以多种不同的方式影响年轻人。',
                  style: TextStyle(letterSpacing: 1.5),
                )
              : Text(
                  '本应用会陪伴你找到那些活动，明确并努力达成自己的目标！保持积极的情绪享受每一天生活。',
                  style: TextStyle(color: hexColor('e9614d')),
                ),
          SizedBox(height: 26),
        ]),
      ),
      page == 0
          ? SizedBox(
              width: 220,
              child: ElevatedButton(
                style: ElevatedButton.styleFrom(
                  backgroundColor: hexColor('#e9614d'),
                  padding: const EdgeInsets.symmetric(vertical: 12),
                  shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.circular(28),
                  ),
                ),
                onPressed: () {
                  setState(() {
                    page = 1;
                  });
                },
                child: const Text(
                  '下一页',
                  style: TextStyle(fontSize: 18, color: Colors.white),
                ),
              ))
          : Padding(
              padding: const EdgeInsets.symmetric(horizontal: 30.0),
              child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: [
                  SizedBox(
                    width: 100,
                    child: ElevatedButton(
                      style: ElevatedButton.styleFrom(
                        backgroundColor: hexColor('#dcdccc'),
                        padding: const EdgeInsets.symmetric(vertical: 2),
                        shape: RoundedRectangleBorder(
                          borderRadius: BorderRadius.circular(28),
                        ),
                      ),
                      onPressed: () {
                        setState(() {
                          page = 0;
                        });
                      },
                      child: const Text(
                        '上一页',
                        style: TextStyle(fontSize: 18, color: Colors.white),
                      ),
                    ),
                  ),
                  if (userInfo['isFirstLogin'])
                    SizedBox(
                      width: 100,
                      child: ElevatedButton(
                        style: ElevatedButton.styleFrom(
                          backgroundColor: hexColor('#e9614d'),
                          padding: const EdgeInsets.symmetric(vertical: 2),
                          shape: RoundedRectangleBorder(
                            borderRadius: BorderRadius.circular(28),
                          ),
                        ),
                        onPressed: () {
                          // 点击“我同意”后的逻辑，例如跳转到应用主页
                          Navigator.pushNamed(context, 'MainPage');
                        },
                        child: const Text(
                          ' 开启 ',
                          style: TextStyle(fontSize: 18, color: Colors.white),
                        ),
                      ),
                    )
                ],
              ),
            ),
    ]);
  }
}
